1. Technical Field
The present invention relates to computer data storage systems. In particular, it relates to the presentation/access of a client file system image locally to the server which provides the underlying disk image of that client machine or the off loading of routine processes from the client machines onto the server machine which provides the underlying disk image of that client machine.
2. Background Art
The development of computers initially focused on single systems with attached dedicated storage devices. Over time, communication systems were developed to allow sharing of data between computers. Typically, networks of computers use server and client machines. A client machine is used by an individual for specific functions such as billing, etc., while the server system is used to provide the disk storage for one or more client machines. Recent developments involved the sharing of storage devices between systems through the use of SAN and LAN systems, as discussed more fully below. As the use of SAN and LAN systems increased, the number and variety of interconnected device types and systems also increased. The variety of devices available to the users of these systems provide substantial benefits. However, the complexity they also created resulted in substantial performance and compatibility problems. In particular, the software was required to support multiple device types which increased the overhead required by the clients systems. In addition, normal maintenance functions created a burden for each of the local systems which had the effect of reducing overall performance. It would be advantageous to have method of providing a simple interface to numerous, potentially compatible systems. This would provide improved performance, and reduce overall complexity of maintenance and software.
In addition to the performance impact on software operations during normal use, the need for individual systems to perform normal system maintenance operations such as data backup or virus scanning also degrades performance of those systems by increasing their workloads. In addition, these activities also generate additional traffic on SAN/LANs, thereby affecting other systems. It would be desirable to have a method of offloading normal system maintenance functions and eliminating any workload on local systems that it would create.
A problem associated with large multisystem computing environments is that critical data is now found on all platforms spread throughout the enterprise. The drivers required to access data can create problems due to incompatible release levels, etc. It would be desirable to have a system that could provide a single driver interface that reduces complexity as well as reduce the chance of incompatibility.
With the advent of large-scale networking, enterprise applications have proliferated onto a myriad of interconnected computer systems. The combination of networked servers and private storage has guaranteed that data is allocated, replicated, and managed in an ad-hoc manner. Today the limitations of storage technology determine the manner in which data is organized and presented. It would be desirable to be able to manage data on a large-scale, across interconnected computer systems, in such a manner that data availability could be accessed through a single interface and in which maintenance functions can be off loaded and executed independently from the client processor.
Another element of the solution to storage management problems has been the development of storage area network (xe2x80x9cSANxe2x80x9d) products. A SAN is a connection scheme between computers and storage peripherals which is based on an FC (Fiber Channel) data transport mechanism. SANs typically use FC technology as the data transport means between multiple systems and networks due to their excellent performance and reliability.
A SAN can be defined as an architecture composed of a group of storage systems and servers that are connected together via an FC switch or hub. The introduction of SANs provides some partial solutions to a number of problems related to high bandwidth, and increased connectivity. However while, SANs address improved connectivity and higher bandwidth, they do not resolve problems related to either interface complexity or the distribution of maintenance and backup functions throughout a system rather than centralized control of maintenance and backup functions. The resultant distribution of these fictions and the complexity of the interfaces results in higher levels of data traffic and reduced overall enterprise performance. It would be desirable to have a system in which the users of storage devices on SANs could manage system maintenance independent of the device type, and offload the maintenance and administration functions the user""s files on the storage device to the server.
While addressing the basic desirability of providing wide scale access to data, the prior art has failed to provide a uniform and secure method of accessing data on multiple storage device types and failed to provide a method of performing routine maintenance tasks which can be centrally controlled in which eliminates data traffic in the network and overhead to the client systems.
The present invention solves the foregoing problems by providing a volume insight architecture. Volume insight architecture uses software processes internal to the server system to issue read/right commands against client data stored on a disk device local to the server. A volume insight driver dynamically adjusts the data addresses from the software processes such that they coincide with the actual address of the client data on the server disk. The software processes and the address translation process are invisible to the client. The server treats the locally stored client file system as a local server file system. Processes which can be run against the local file system image on the server cannot distinguish between a true locally mounted file system image and the locally presented file system image presented by the volume insight architecture.
Volume insight architecture also centralizes and supports maintenance functions, such as backup, virus detection, etc. This allows maintenance functions to be performed at the server level which reduces the overhead burden on the client systems using the volume insight architecture.